//package com.gpStudy.design.proxy;
//
//// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
//// Jad home page: http://www.kpdus.com/jad.html
//// Decompiler options: packimports(3)
//
//
//import java.lang.reflect.*;
//
//public final class $Proxy0 extends Proxy
//{
//
//    public $Proxy0(InvocationHandler invocationhandler)
//    {
//        super(invocationhandler);
//    }
//
//    public final boolean equals(Object obj)
//    {
//        try
//        {
//            return ((Boolean)super.h.invoke(this, m1, new Object[] {
//                    obj
//            })).booleanValue();
//        }
//        catch(Error _ex) { }
//        catch(Throwable throwable)
//        {
//            throw new UndeclaredThrowableException(throwable);
//        }
//    }
//
//    public final InvocationHandler getInvocationHandler(Object obj)
//            throws IllegalArgumentException
//    {
//        try
//        {
//            return (InvocationHandler)super.h.invoke(this, m5, new Object[] {
//                    obj
//            });
//        }
//        catch(Error _ex) { }
//        catch(Throwable throwable)
//        {
//            throw new UndeclaredThrowableException(throwable);
//        }
//    }
//
//    public final String toString()
//    {
//        try
//        {
//            return (String)super.h.invoke(this, m2, null);
//        }
//        catch(Error _ex) { }
//        catch(Throwable throwable)
//        {
//            throw new UndeclaredThrowableException(throwable);
//        }
//    }
//
//    public final Class getProxyClass(ClassLoader classloader, Class aclass[])
//            throws IllegalArgumentException
//    {
//        try
//        {
//            return (Class)super.h.invoke(this, m6, new Object[] {
//                    classloader, aclass
//            });
//        }
//        catch(Error _ex) { }
//        catch(Throwable throwable)
//        {
//            throw new UndeclaredThrowableException(throwable);
//        }
//    }
//
//    public final Class getClass()
//    {
//        try
//        {
//            return (Class)super.h.invoke(this, m11, null);
//        }
//        catch(Error _ex) { }
//        catch(Throwable throwable)
//        {
//            throw new UndeclaredThrowableException(throwable);
//        }
//    }
//
//    public final void notifyAll()
//    {
//        try
//        {
//            super.h.invoke(this, m13, null);
//            return;
//        }
//        catch(Error _ex) { }
//        catch(Throwable throwable)
//        {
//            throw new UndeclaredThrowableException(throwable);
//        }
//    }
//
//    public final int hashCode()
//    {
//        try
//        {
//            return ((Integer)super.h.invoke(this, m0, null)).intValue();
//        }
//        catch(Error _ex) { }
//        catch(Throwable throwable)
//        {
//            throw new UndeclaredThrowableException(throwable);
//        }
//    }
//
//    public final void wait()
//            throws InterruptedException
//    {
//        try
//        {
//            super.h.invoke(this, m8, null);
//            return;
//        }
//        catch(Error _ex) { }
//        catch(Throwable throwable)
//        {
//            throw new UndeclaredThrowableException(throwable);
//        }
//    }
//
//    public final void notify()
//    {
//        try
//        {
//            super.h.invoke(this, m12, null);
//            return;
//        }
//        catch(Error _ex) { }
//        catch(Throwable throwable)
//        {
//            throw new UndeclaredThrowableException(throwable);
//        }
//    }
//
//    public final void eat(String s)
//    {
//        try
//        {
//            super.h.invoke(this, m3, new Object[] {
//                    s
//            });
//            return;
//        }
//        catch(Error _ex) { }
//        catch(Throwable throwable)
//        {
//            throw new UndeclaredThrowableException(throwable);
//        }
//    }
//
//    public final Object newProxyInstance(ClassLoader classloader, Class aclass[], InvocationHandler invocationhandler)
//            throws IllegalArgumentException
//    {
//        try
//        {
//            return (Object)super.h.invoke(this, m7, new Object[] {
//                    classloader, aclass, invocationhandler
//            });
//        }
//        catch(Error _ex) { }
//        catch(Throwable throwable)
//        {
//            throw new UndeclaredThrowableException(throwable);
//        }
//    }
//
//    public final void wait(long l)
//            throws InterruptedException
//    {
//        try
//        {
//            super.h.invoke(this, m10, new Object[] {
//                    Long.valueOf(l)
//            });
//            return;
//        }
//        catch(Error _ex) { }
//        catch(Throwable throwable)
//        {
//            throw new UndeclaredThrowableException(throwable);
//        }
//    }
//
//    public final boolean isProxyClass(Class class1)
//    {
//        try
//        {
//            return ((Boolean)super.h.invoke(this, m4, new Object[] {
//                    class1
//            })).booleanValue();
//        }
//        catch(Error _ex) { }
//        catch(Throwable throwable)
//        {
//            throw new UndeclaredThrowableException(throwable);
//        }
//    }
//
//    public final void wait(long l, int i)
//            throws InterruptedException
//    {
//        try
//        {
//            super.h.invoke(this, m9, new Object[] {
//                    Long.valueOf(l), Integer.valueOf(i)
//            });
//            return;
//        }
//        catch(Error _ex) { }
//        catch(Throwable throwable)
//        {
//            throw new UndeclaredThrowableException(throwable);
//        }
//    }
//
//    private static Method m1;
//    private static Method m5;
//    private static Method m2;
//    private static Method m6;
//    private static Method m11;
//    private static Method m13;
//    private static Method m0;
//    private static Method m8;
//    private static Method m12;
//    private static Method m3;
//    private static Method m7;
//    private static Method m10;
//    private static Method m4;
//    private static Method m9;
//
//    static
//    {
//        try
//        {
//            m1 = Class.forName("java.lang.Object").getMethod("equals", new Class[] {
//                    Class.forName("java.lang.Object")
//            });
//            m5 = Class.forName("com.sun.proxy.$Proxy0").getMethod("getInvocationHandler", new Class[] {
//                    Class.forName("java.lang.Object")
//            });
//            m2 = Class.forName("java.lang.Object").getMethod("toString", new Class[0]);
//            m6 = Class.forName("com.sun.proxy.$Proxy0").getMethod("getProxyClass", new Class[] {
//                    Class.forName("java.lang.ClassLoader"), Class.forName("[Ljava.lang.Class;")
//            });
//            m11 = Class.forName("com.sun.proxy.$Proxy0").getMethod("getClass", new Class[0]);
//            m13 = Class.forName("com.sun.proxy.$Proxy0").getMethod("notifyAll", new Class[0]);
//            m0 = Class.forName("java.lang.Object").getMethod("hashCode", new Class[0]);
//            m8 = Class.forName("com.sun.proxy.$Proxy0").getMethod("wait", new Class[0]);
//            m12 = Class.forName("com.sun.proxy.$Proxy0").getMethod("notify", new Class[0]);
//            m3 = Class.forName("com.sun.proxy.$Proxy0").getMethod("eat", new Class[] {
//                    Class.forName("java.lang.String")
//            });
//            m7 = Class.forName("com.sun.proxy.$Proxy0").getMethod("newProxyInstance", new Class[] {
//                    Class.forName("java.lang.ClassLoader"), Class.forName("[Ljava.lang.Class;"), Class.forName("java.lang.reflect.InvocationHandler")
//            });
//            m10 = Class.forName("com.sun.proxy.$Proxy0").getMethod("wait", new Class[] {
//                    Long.TYPE
//            });
//            m4 = Class.forName("com.sun.proxy.$Proxy0").getMethod("isProxyClass", new Class[] {
//                    Class.forName("java.lang.Class")
//            });
//            m9 = Class.forName("com.sun.proxy.$Proxy0").getMethod("wait", new Class[] {
//                    Long.TYPE, Integer.TYPE
//            });
//        }
//        catch(NoSuchMethodException nosuchmethodexception)
//        {
//            throw new NoSuchMethodError(nosuchmethodexception.getMessage());
//        }
//        catch(ClassNotFoundException classnotfoundexception)
//        {
//            throw new NoClassDefFoundError(classnotfoundexception.getMessage());
//        }
//    }
//}
//
